#include "CharacterVocation.h"
#include "CharacterVocation_ranger.h"

Ranger::string Ranger::_rangerVocation = "Ranger";
Ranger::string Ranger::_rangerMajor[MAJOR_MAX_PER] = { "Scout", "Fight" };
Ranger::WEAPON Ranger::_rangerWeapon[WEAPON_MAX_PER] = { Dagger, Shortbow };
Ranger::ARMOUR Ranger::_rangerArmour = Leather;

Ranger::Ranger() :Vocation()
{
	_oath = new string;
	*_oath = "";
}

Ranger::Ranger(const string & oath, const Vocation & voc) : Vocation(voc)
{
	_oath = new string;
	*_oath = oath;
}

void Ranger::DefVocation()
{
	Vocation::DefVocation(_rangerVocation);
}

void Ranger::DefMajor()
{
	Vocation::DefMajor(_rangerMajor);
}

void Ranger::DefWeapon()
{
	Vocation::DefWeapon(_rangerWeapon);
}

void Ranger::DefArmour()
{
	Vocation::DefArmour(_rangerArmour);
}


void Ranger::DefRanger()
{
	DefVocation();
	DefMajor();
	DefWeapon();
	DefArmour();
}

void Ranger::DefOath(const string & oath)
{
	_oath = new string;
	*_oath = oath;
}

void Ranger::ShowOath() const
{
	std::cout << "Oath : " << *_oath << std::endl;
}

Ranger::~Ranger()
{
	delete _oath;
}